home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.multimedia;
-
- import java.awt.Color;
- import java.awt.Graphics;
- import java.util.Random;
-
- class Rocket {
- public boolean sleep = true;
- private int energy;
- private int patch;
- private int length;
- // $FF: renamed from: mx int
- private int field_0;
- // $FF: renamed from: my int
- private int field_1;
- private int gravity;
- // $FF: renamed from: ox int
- private int field_2;
- // $FF: renamed from: oy int
- private int field_3;
- // $FF: renamed from: vx int[]
- private int[] field_4;
- // $FF: renamed from: vy int[]
- private int[] field_5;
- // $FF: renamed from: x int
- private int field_6;
- // $FF: renamed from: y int
- private int field_7;
- private int red;
- private int blue;
- private int green;
- // $FF: renamed from: t int
- private int field_8;
- private Random random;
-
- public Rocket(int var1, int var2, int var3) {
- this.field_0 = var1;
- this.field_1 = var2;
- this.gravity = var3;
- }
-
- public void init(int var1, int var2, int var3, long var4) {
- this.energy = var1;
- this.patch = var2;
- this.length = var3;
- this.random = new Random(var4);
- this.field_4 = new int[this.patch];
- this.field_5 = new int[this.patch];
- this.red = (int)(this.random.nextDouble() * (double)128.0F) + 128;
- this.blue = (int)(this.random.nextDouble() * (double)128.0F) + 128;
- this.green = (int)(this.random.nextDouble() * (double)128.0F) + 128;
- this.field_2 = (int)(Math.random() * (double)this.field_0 / (double)2.0F) + this.field_0 / 4;
- this.field_3 = (int)(Math.random() * (double)this.field_1 / (double)2.0F) + this.field_1 / 4;
-
- for(int var6 = 0; var6 < this.patch; ++var6) {
- this.field_4[var6] = (int)(Math.random() * (double)this.energy) - this.energy / 2;
- this.field_5[var6] = (int)(Math.random() * (double)this.energy * (double)7.0F / (double)8.0F) - this.energy / 8;
- }
-
- }
-
- public void start() {
- this.field_8 = 0;
- this.sleep = false;
- }
-
- public void show(Graphics var1) {
- if (!this.sleep) {
- if (this.field_8 < this.length) {
- int var3 = (int)(this.random.nextDouble() * (double)64.0F) - 32 + this.red;
- if (var3 >= 0 && var3 < 256) {
- this.red = var3;
- }
-
- var3 = (int)(this.random.nextDouble() * (double)64.0F) - 32 + this.blue;
- if (var3 >= 0 && var3 < 256) {
- this.blue = var3;
- }
-
- var3 = (int)(this.random.nextDouble() * (double)64.0F) - 32 + this.green;
- if (var3 >= 0 && var3 < 256) {
- this.green = var3;
- }
-
- Color var6 = new Color(this.red, this.blue, this.green);
-
- for(int var2 = 0; var2 < this.patch; ++var2) {
- double var4 = (double)this.field_8 / (double)100.0F;
- this.field_6 = (int)((double)this.field_4[var2] * var4);
- this.field_7 = (int)((double)this.field_5[var2] * var4 - (double)this.gravity * var4 * var4);
- var1.setColor(var6);
- var1.drawLine(this.field_2 + this.field_6, this.field_3 - this.field_7, this.field_2 + this.field_6, this.field_3 - this.field_7);
- if (this.field_8 >= this.length / 2) {
- for(int var7 = 0; var7 < 2; ++var7) {
- var4 = (double)((this.field_8 - this.length / 2) * 2 + var7) / (double)100.0F;
- this.field_6 = (int)((double)this.field_4[var2] * var4);
- this.field_7 = (int)((double)this.field_5[var2] * var4 - (double)this.gravity * var4 * var4);
- var1.setColor(Color.black);
- var1.drawLine(this.field_2 + this.field_6, this.field_3 - this.field_7, this.field_2 + this.field_6, this.field_3 - this.field_7);
- }
- }
- }
-
- ++this.field_8;
- return;
- }
-
- this.sleep = true;
- }
-
- }
- }
-